package com.lzc;

import com.lzc.factory.UsbJsd;
import com.lzc.handler.MyHandler;
import com.lzc.service.UsbSell;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;

public class Test {

    public static void main(String[] args) {
            //创键代理对象，使用Proxy
            //1、创建目标对象
            //UsbJsd uj = new UsbJsd();
            UsbSell uj = new UsbJsd();

            //2、创建InvocationHandler对象
            InvocationHandler handler = new MyHandler(uj);

            //3、创建代理对象
            UsbSell proxy =(UsbSell)Proxy.newProxyInstance(uj.getClass().getClassLoader(), uj.getClass().getInterfaces()
            ,handler);

            //4、通过代理执行方法
            float price = proxy.sell(1);
            System.out.println(price);


    }


}
